The present invention relates to cloud servers, and more specifically, to high availability for cloud servers.
In general, cloud computing refers to server-based computing that allows users to transact with server resources using a variety of devices. Cloud computing applications are provided by a server, which allows users to use the applications without downloading and installing applications on their own device. Virtualization technologies commonly used in cloud computing enable the execution of multiple virtual machine instances with different operating systems on a single physical host. Each virtual machine instance functions independently as an isolated system with its own physical resources, OS and applications. Due to significant cost saving and efficiency, the virtualization model has been increasingly adopted by enterprises and service providers as their main computing and service delivery infrastructure, running critical internal business and external customer facing applications.
In order to minimize down time due to unexpected virtual machine crashes, a backup system is usually built into the infrastructure. Currently, there are many backup technology options available such as replication, mirroring and fail over clustering. Existing backup technologies are designed based on the traditional computing models and are costly to implement. In addition, these technologies can be complicated and tedious to maintain and often require additional expensive hardware and software components. With the widespread adaptation of cloud computing, due to its potential cost benefit and efficiency, the virtualization model has been increasingly adopted by enterprises and service providers.